home *** CD-ROM | disk | FTP | other *** search
/ Enter 2005 October / enter-2005-10.iso / files / jedit42install.exe / {app} / macros / Text / Next_Char.bsh < prev    next >
Encoding:
Text File  |  2004-08-29  |  2.4 KB  |  74 lines

  1. /*
  2.  * Next_char.bsh - a BeanShell macro script for the
  3.  * jEdit text editor - finds next occurence of character on
  4.  * current line
  5.  * Copyright (C) 2001 John Gellene
  6.  * jgellene@nyc.rr.com
  7.  * http://community.jedit.org
  8.  *
  9.  * This program is free software; you can redistribute it and/or
  10.  * modify it under the terms of the GNU General Public License
  11.  * as published by the Free Software Foundation; either version 2
  12.  * of the License, or any later version.
  13.  *
  14.  * This program is distributed in the hope that it will be useful,
  15.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  16.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  17.  * GNU General Public License for more details.
  18.  *
  19.  * You should have received a copy of the GNU General Public License
  20.  * along with the jEdit program; if not, write to the Free Software
  21.  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
  22.  *
  23.  * $Id: Next_Char.bsh,v 1.2 2004/03/08 04:29:12 spestov Exp $
  24.  *
  25.  * Checked for jEdit 4.0 API
  26.  *
  27.  */
  28.  
  29. void nextChar()
  30. {
  31.     script = new StringBuffer(512);
  32.     script.append( "start = textArea.getCaretPosition();"        );
  33.     script.append( "line = textArea.getCaretLine();"             );
  34.     script.append( "end = textArea.getLineEndOffset(line) + 1;"  );
  35.     script.append( "text = buffer.getText(start, end - start);"  );
  36.     script.append( "match = text.indexOf(__char__, 1);"          );
  37.     script.append( "if(match != -1) {"                           );
  38.     script.append( "if(__char__ != '\\n') ++match;"              );
  39.     script.append( "textArea.select(start, start + match - 1);}" );
  40.  
  41.     view.getInputHandler().readNextChar("Enter a character",script.toString());
  42. }
  43.  
  44. nextChar();
  45.  
  46. /*
  47.     Macro index data (in DocBook format)
  48.  
  49. <listitem>
  50.     <para><filename>Next_Char.bsh</filename></para>
  51.     <abstract><para>
  52.         Finds next occurence of character on current line.
  53.     </para></abstract>
  54.     <para>
  55.         The macro takes the next character typed after macro execution
  56.         as the character being searched.  That character is not
  57.         displayed.  If the character does not appear in the balance of
  58.         the current line, no action occurs.
  59.     </para>
  60.     <para>
  61.         This macro illustrates the use of
  62.         <function>InputHandler.readNextChar()</function> as a means of
  63.         obtaining user input. <!-- See <xref
  64.         linkend="macro-tips-single-char" -->
  65.         />.
  66.     </para>
  67.  </listitem>
  68.  
  69. */
  70.  
  71.  
  72. // end Next_char.bsh
  73.  
  74.